const db = require("../db/index");

exports.cate = (req, res) => {
    const sql = 'SELECT * FROM ev_article_cate where is_delete = 0 order by id asc';
    db.query(sql, (err, results) => {
        if (err) {
            return res.cc(err)
        }
        if (results.length === 0) {
            return res.cc('文章分类列表为空')
        }
        res.send({
            status: 200,
            message: '获取文章分类列表成功',
            data: results
        })
    })
} 
exports.addCate = (req, res) => {
    const body = req.body;
    const sql1 = 'SELECT * FROM ev_article_cate where name = ? or alias = ?';
    db.query(sql1, [body.name, body.alias], (err, results) => {
        if (err) {
            return res.cc(err)
        }
        if (results.length > 0) {
            return res.cc('文章分类名称或别名已存在')
        }
        // 检查通过后再执行插入操作  第二个query要在第一个query的回调函数中执行
        const sql2 = 'INSERT INTO ev_article_cate (name,alias,is_delete) VALUES (?,?,0)';
        db.query(sql2, [body.name, body.alias], (err, results) => {
            if (err) {
                return res.cc(err)
            }
            if (results.affectedRows !== 1) {
                return res.cc('新增文章分类失败')
            }
            res.send({
                status: 200,
                message: '新增文章分类成功',
                data: results
            })
        })
    })
}

// 根据ID删除文章分类
exports.deleteCateById = (req, res) => {
    const id = req.params.id;
    const sql = 'UPDATE ev_article_cate SET is_delete = 1 WHERE id = ?';
    db.query(sql, [id], (err, results) => {
        if (err) {
            return res.cc(err)
        }
        if (results.affectedRows !== 1) {
            return res.cc('删除文章分类失败，可能该分类不存在')
        }
        res.send({
            status: 200,
            message: '删除文章分类成功',
            data: results
        })
    })
}
// 更新文章分类
exports.updateCateById = (req, res) => {
    const id = req.params.id;
    const body = req.body;
    console.log('更新分类 - ID:', id, 'Body:', body);  // 调试信息
    
    // 首先检查name和alias是否已存在（排除当前记录）
    const checkSql = 'SELECT * FROM ev_article_cate WHERE (name = ? OR alias = ?) AND id != ?';
    db.query(checkSql, [body.name, body.alias, id], (err, results) => {
        if (err) {
            return res.cc(err)
        }
        if (results.length > 0) {
            return res.cc('文章分类名称或别名已存在')
        }
        
        // 检查通过后再执行更新操作
        const updateSql = 'UPDATE ev_article_cate SET name = ?, alias = ? WHERE id = ?';
        db.query(updateSql, [body.name, body.alias, id], (err, results) => {
            if (err) {
                return res.cc(err)
            }
            if (results.affectedRows !== 1) {
                return res.cc('更新文章分类失败，可能该分类不存在')
            }
            res.send({
                status: 200,
                message: '更新文章分类成功',
                data: results
            })
        })
    })
}

